<html>
<head>
    <script src="../../../../resources/js-test.js"></script>
    <script src="resources/location-tests-functions.js"></script>
</head>
<body>
<script>
    window.location.valueOf = function() { return "haxored"; }

    var result = normalizeURL(String(window.location));
    var correctValue = normalizeURL(document.URL);
    shouldBe("result", "correctValue");
    result = normalizeURL(String(window.location.valueOf()));
    shouldBe("result", "correctValue");
    shouldThrow("(function() { 'use strict'; location.valueOf = 'haxored'; return location.valueOf(); }())");
    shouldNotThrow("(function() { location.valueOf = 'haxored'; return location.valueOf(); }())");
    shouldThrow("(function() { 'use strict'; delete location.valueOf; }())");
    shouldBe("(function() { delete location.valueOf; return !!location.valueOf}())", "true");
</script>
</body>
</html>